package com.student.dao;

import com.student.util.DBHelper;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 公共方法
 */
public class BaseDao {

    private Connection con;
    public BaseDao(Connection con){
        this.con=con;
    }

    /**
     * 查询的通用方法
     * @param sql 数据库语句
     * @param os 传参
     * @return 返回一个ResultSet
     */
    public ResultSet excuteQuery(String sql,Object[] os){
        ResultSet rs=null;
        PreparedStatement ps=null;
        try {
            ps=con.prepareStatement(sql);
            if(os!=null){
                for(int i=0;i<os.length;i++){
                    ps.setObject((i+1),os[i]);
                }
            }
            rs=ps.executeQuery();
        }catch (Exception e){
            e.printStackTrace();
        }
        return rs;
    }

    /**
     * 增删改的公共方法
     * @param sql 数据库语句
     * @param os 传值
     * @return 返回
     */
    public int executeUpdate(String sql,Object[] os){
        int count=0;
        PreparedStatement ps=null;
        try {
            ps=con.prepareStatement(sql);
            if(os!=null){
                for(int i=0;i<os.length;i++){
                    ps.setObject((i+1),os[i]);
                }
            }
            count=ps.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBHelper.close(null,ps,null);
        }
        return count;
    }


}
